package com.zhongge.book;

@SuppressWarnings("all")//屏蔽所有警告（俺有强迫症）
/**
 * @ClassName Book
 * @Description TODO 图书，定义图书的属性
 * @Author zhongge
 * @Date 2025/7/14 15:22
 * @Version 1.0
 */
public class Book {
    /**
     * 非必要我们的属性都是私有的
     * 如果某一个类与继承相关都是需要使用protected的
     */
    //书名
    private String name;
    //价格
    private int price;
    //作者
    private String author;
    //类型
    private String type;
    //是否借出
    private boolean isBorrow;//默认是false 没借出去的

    //构造函数：目的是为了实例化一本书

    public Book(String name, int price, String author, String type) {
        this.name = name;
        this.price = price;
        this.author = author;
        this.type = type;
    }
    //这个类写了是要给别人使用的，为了在外部可以安全的
    //访问本类中的属性，就提供get和set方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isBorrow() {
        return isBorrow;
    }

    public void setBorrow(boolean borrow) {
        isBorrow = borrow;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    //重写toString方法作为信息的输出和打印

    @Override
    public String toString() {
        return "{" +
                "name='" + name + '\'' +
                ", price=" + price +
                ", author='" + author + '\'' +
                ", type='" + type + '\'' +
                ", isBorrow=" + ((isBorrow == true) ? "已借出" : "未借出") +
                '}';
    }
}
